Speci cation and Veri cation of Object-Oriented Programs

نویسندگان

  • Shekhar Kirani
  • W. T. Tsai
چکیده

There is an increasing demand for innovative software that satisfy stringent quality and reliability requirements imposed by users. In recent years Object-Oriented (OO) paradigm is gaining acceptance for developing complex software. The current research so far in OO software engineering is focussed on problem analysis, software design and implementation techniques resulting in a potpourri of representations and procedures. Even though the importance of Veri cation and Validation (V&V) is known, it has commanded little attention in OO paradigm. In this thesis we propose a new speci cation technique called Method and Message Sequence Speci cation that represents the causal relationship between the instance methods of a set of classes. The Method Sequence Speci cation (MtSS) of a class documents the correct causal order in which the methods can be invoked at an instance of the class. The Message Sequence Speci cation (MgSS) of a set of classes documents the causal order in which messages can be sent to instances of di erent classes. MtSS and MgSS of classes document the message-method interaction and the correct sequence in which messages can ow through a system containing objects. The importance of speci cation Consistency and Completeness (C&C) is well known in software engineering. Inconsistency and incompleteness in MtSS and MgSS would lead to faulty design and therefore, C&C of class speci cation is essential for developing OO design with less faults. In this thesis, we provide a set of rules for developing consistent MtSS and MgSS for both single classes and a set of classes. We also discuss about run time veri cation system that can ensure that each object is compliant with the corresponding MtSS. The implementation of a OO design must comply with the design. We propose a new technique of data anomaly detection in OO implementation using MtSS. We then propose several test case generation techniques using MtSS and MgSS that can be used for testing the OO implementation. We also present the results of applying various testing techniques against an example OO program. This technical report is a short version of the doctoral thesis by Dr. Kirani [40].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reasoning about Oject-oriented Programs That Use Subtypes

Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of di erent types and by letting supertypes stand for all their subtypes. We describe formal speci cation and veri cation techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about program...

متن کامل

Of What Use is a Veri ed Compiler Speci cation ?

Program veri cation is normally performed on source code. However, it is the object code which is executed and so which ultimately must be correct. The compiler used to produce the object code must not introduce bugs. The majority of the compiler correctness literature is concerned with the veri cation of compiler speci cations rather than executable implementations. We discuss di erent ways th...

متن کامل

Automatically verifying an object-oriented specification of the Steam-Boiler system

Correctness is a desired property of industrial software systems. Although the employment of formal methods and their veri(cation techniques in embedded real-time systems has started to be a common practice, the same cannot be said about object-oriented software. This paper presents an experiment of a technique for the automated veri(cation of a subset of the object-oriented language OBject LOG...

متن کامل

Behavioral Interface Speci cation Languages

Behavioral interface speci cation languages allow programmers to express the intended behavior of programs such as functional behavior and resource consumption. Formal speci cations of program behavior is useful for precise documentation, for the generation of test cases and test oracles, for debugging, and for formal program veri cation. In this paper, we survey behavioral interface speci cati...

متن کامل

A Veriied Vista Implementation Final Report

Specification Implementation Refine Algorithm Figure 1.3: The Re nement Hierarchy concerns whether the algorithm is correct with respect to the abstract speci cation, that is, whether the semantics of a source program is preserved in the code that the algorithm speci es should be produced. By far the majority of compiler correctness work described in the literature is concerned with this form o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994